package com.jhopesoft.framework.dao.entity.dataobject;
// Generated 2021-04-06 14:21:22 by Quick build System

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import com.jhopesoft.framework.dao.entity.common.FUsernotification;
import com.jhopesoft.framework.dao.entity.log.FUsernotificationresult;

import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

/**
 *
 * FNotification(FNotification) generated by Quick Build System
 *
 * 了解快速架构系统 https://github.com/jfok1972
 *
 * @author 蒋锋 jfok1972@qq.com
 *
 */
@Entity
@DynamicUpdate
@SuppressWarnings("serial")
@Table(name = "f_notification")
public class FNotification implements Serializable {

	/** 通知公告id */
	private String notificationid;
	/** 通知公告名称 */
	private String title;
	/** 分类 */
	private String notificationtype;
	/** 重要等级 */
	private int hintlevel;
	/** 通知公告内容 */
	private String context;
	/** 是否生效 */
	private boolean enabled;
	/** 发布时间 */
	private Timestamp startdate;
	/** 结束时间 */
	private Timestamp enddate;
	/** 备注 */
	private String remark;
	/** 创建者 */
	private String creater;
	/** 创建日期 */
	private Timestamp createdate;
	/** 最近修改者 */
	private String lastmodifier;
	/** 最近修改日期 */
	private Timestamp lastmodifydate;
	private Set<FUsernotification> FUsernotifications = new LinkedHashSet<FUsernotification>(0);
	private Set<FUsernotificationresult> FUsernotificationresults = new LinkedHashSet<FUsernotificationresult>(0);

	public FNotification() {
	}

	@Id
	/** 请使用 strategy = "uuid.hex" 主键中最好不要有“-”号 */
	@GeneratedValue(generator = "generator")
	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@Column(name = "notificationid", unique = true, nullable = false, length = 40)
	public String getNotificationid() {
		return this.notificationid;
	}

	public void setNotificationid(String notificationid) {
		this.notificationid = notificationid;
	}

	@Column(name = "title", nullable = false, length = 50)
	public String getTitle() {
		return this.title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	@Column(name = "notificationtype", length = 20)
	public String getNotificationtype() {
		return this.notificationtype;
	}

	public void setNotificationtype(String notificationtype) {
		this.notificationtype = notificationtype;
	}

	@Column(name = "hintlevel", nullable = false)
	public int getHintlevel() {
		return this.hintlevel;
	}

	public void setHintlevel(int hintlevel) {
		this.hintlevel = hintlevel;
	}

	@Column(name = "context", length = 5592405)
	public String getContext() {
		return this.context;
	}

	public void setContext(String context) {
		this.context = context;
	}

	@Column(name = "enabled", nullable = false)
	public boolean getEnabled() {
		return this.enabled;
	}

	public void setEnabled(boolean enabled) {
		this.enabled = enabled;
	}

	@Column(name = "startdate", length = 19)
	public Timestamp getStartdate() {
		return this.startdate;
	}

	public void setStartdate(Timestamp startdate) {
		this.startdate = startdate;
	}

	@Column(name = "enddate", length = 19)
	public Timestamp getEnddate() {
		return this.enddate;
	}

	public void setEnddate(Timestamp enddate) {
		this.enddate = enddate;
	}

	@Column(name = "remark", length = 200)
	public String getRemark() {
		return this.remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "creater", nullable = false, length = 40)
	public String getCreater() {
		return this.creater;
	}

	public void setCreater(String creater) {
		this.creater = creater;
	}

	@Column(name = "createdate", nullable = false, length = 19)
	public Timestamp getCreatedate() {
		return this.createdate;
	}

	public void setCreatedate(Timestamp createdate) {
		this.createdate = createdate;
	}

	@Column(name = "lastmodifier", length = 40)
	public String getLastmodifier() {
		return this.lastmodifier;
	}

	public void setLastmodifier(String lastmodifier) {
		this.lastmodifier = lastmodifier;
	}

	@Column(name = "lastmodifydate", length = 19)
	public Timestamp getLastmodifydate() {
		return this.lastmodifydate;
	}

	public void setLastmodifydate(Timestamp lastmodifydate) {
		this.lastmodifydate = lastmodifydate;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "FNotification")
	public Set<FUsernotification> getFUsernotifications() {
		return this.FUsernotifications;
	}

	public void setFUsernotifications(Set<FUsernotification> FUsernotifications) {
		this.FUsernotifications = FUsernotifications;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "FNotification")
	public Set<FUsernotificationresult> getFUsernotificationresults() {
		return this.FUsernotificationresults;
	}

	public void setFUsernotificationresults(Set<FUsernotificationresult> FUsernotificationresults) {
		this.FUsernotificationresults = FUsernotificationresults;
	}

}
